#ifndef __EC11_H
#define __EC11_H

#include "gd32f30x.h"

#define ECn													 2//旋钮编码器2个信号引脚

#define FORWARD_RUN									1//正转
#define REVERSE_RUN									2//反转
#define STAY_RUN										0//不转

/* user encode */
#define EC_A_PIN                     GPIO_PIN_8//旋钮 A信号
#define EC_A_GPIO_PORT               GPIOE
#define EC_A_GPIO_CLK                RCU_GPIOE
#define EC_A_EXTI_LINE               EXTI_8
#define EC_A_EXTI_PORT_SOURCE        GPIO_PORT_SOURCE_GPIOE
#define EC_A_EXTI_PIN_SOURCE         GPIO_PIN_SOURCE_8
#define EC_A_EXTI_IRQn               EXTI5_9_IRQn

/* user encode */
#define EC_B_PIN                     GPIO_PIN_9//旋钮 B信号
#define EC_B_GPIO_PORT               GPIOE
#define EC_B_GPIO_CLK                RCU_GPIOE
#define EC_B_EXTI_LINE               EXTI_9
#define EC_B_EXTI_PORT_SOURCE        GPIO_PORT_SOURCE_GPIOE
#define EC_B_EXTI_PIN_SOURCE         GPIO_PIN_SOURCE_9
#define EC_B_EXTI_IRQn               EXTI5_9_IRQn

/*旋钮编码器的转动脉冲 2定位1脉冲  下降沿（上升沿）等待时长、持续时长*/
#define WAIT_TIME       3//1
#define HOLD_TIME				3//2


typedef enum 
{
  EC_A = 0,
  EC_B = 1,
} EC_TypeDef;

typedef enum 
{  
  EC_MODE_GPIO = 0,
  EC_MODE_EXTI = 1
} ECMode_TypeDef;



void EC_scan(void);
void EC11_Init(void);

#endif










